Method and apparatus for quality ranking of media

ABSTRACT

In accordance with an example embodiment of the present invention, an apparatus comprises a processor configured to monitor a user&#39;s quality parameter preference to determine a quality parameter for a reference media, update the quality parameter of the reference media, and adapt the quality parameter of the reference media.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. Publication No. 2014-0330844(U.S. application Ser. No. 14/335,832 and filed Jul. 18, 2014), which isa continuation of U.S. Publication No. 2010-0121834 (U.S. applicationSer. No. 12/266,904 and filed on Nov. 7, 2008) now U.S. Pat. No.8,799,259 titled METHOD AND APPARATUS FOR QUALITY RANKING OF MEDIA, theentire disclosure of which is incorporated herein by reference.

TECHNICAL FIELD

The present application relates generally to data management and, morespecifically, to adapting parameters of a reference data or referencemedia, which is used for searching a database.

BACKGROUND

Today networks, such as the Internet, are widely used for sharing media.Users can search for media using search engines or the like. As a resultof the search, the user is presented with many different media forreview. The searching, however, is still limited.

SUMMARY

A method and system are disclosed in accordance with aspects of thepresent invention that address the limitation in searching data. Themethod, as executed by the system, includes monitoring a user's qualityparameter preference to determine at least one quality parameter for areference media, updating the quality parameter of the reference mediabased on the user's quality parameter preference, and adapting thequality parameter of the reference media.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of example embodiments of the presentinvention, reference is now made to the following descriptions taken inconnection with the accompanying drawings in which:

FIG. 1 is a block diagram depicting a server operating in accordancewith an example embodiment of the invention;

FIG. 2A is a block diagram of a server and a client operating inaccordance with an example embodiment of the invention;

FIG. 2B is a block diagram of a user interface operating in accordancewith an example embodiment of the invention;

FIG. 2C is a block diagram of another user interface operating inaccordance with an example embodiment of the invention;

FIG. 2D is a block diagram of a server operating in accordance with anexample embodiment of the invention;

FIG. 3 is a flow diagram of an example method for ranking media inaccordance with an example embodiment of the invention;

FIG. 4A is a diagram depicting a media with assigned values for qualityparameters in accordance with an example embodiment of the invention;

FIG. 4B is a diagram depicting another media with assigned values forquality parameters in accordance with an example embodiment of theinvention; and

FIG. 4C is a diagram depicting yet another media with assigned valuesfor quality parameters in accordance with an example embodiment of theinvention.

DETAILED DESCRIPTION

An example embodiment of the present invention and its potentialadvantages are best understood by referring to FIGS. 1 through 4C of thedrawings.

FIG. 1 is a block diagram of a server 100 operating in accordance withan example embodiment of the present invention. In an exampleembodiment, the server 100 comprises a processor 102 and/or a database.In an embodiment, the server 100 and/or the processor 102 comprisesmemory. For example, the server 100 comprises volatile memory, such asrandom access memory (RAM) 106. RAM may comprise a cache area for thetemporary storage of data. Further, the server 100 may also comprisenon-volatile memory, such as read only memory (ROM) 104, which may beembedded and/or may be removable. The non-volatile memory may alsocomprise an electrically erasable programmable read only memory(EEPROM), flash memory, and/or the like.

In an embodiment, the processor 102 communicates with internal and/orexternal components through the input/output circuitry 108. Further, theprocessor 102 may carry out a variety of techniques, as dictated bysoftware instructions, firmware instructions, and/or the like.

In an embodiment, the server 100 comprises one or more data storagedevices, such as a removable disk drive 112, a hard drive 113, anoptical drive 114, other hardware capable of reading and/or storinginformation, and/or the like. In an embodiment, software for carryingout operations stores and/or distribute on an optical media, a magneticmedia, a flash memory, or other form of media capable of storinginformation, and/or the like. The optical media, magnetic media, flashmemory, and/or the like may be inserted into, and/or read by, devices,such as the optical drive 114, the removable disk drive 112, theinput/output circuitry 108, and/or the like.

In an embodiment, the server 100 is coupled to an input/output interface122 for user interaction. The input/output interface 122 may comprise amouse, keyboard, microphone, touch pad, touch screen, voice-recognitionsystem, monitor, light-emitting diode (LED) display, liquid crystaldisplay (LCD), and/or the like. In an alternative embodiment, the userinput/output interface 122 is two separate interfaces.

In an embodiment, the server 100 is configured with software that may bestored on any combination of RAM 106 and persistent storage (e.g., harddrive 113). Such software may be contained in fixed logic or read-onlymemory 104, or placed in RAM 106 via portable computer readable storagemedia such as read-only-memory magnetic disks, optical media, flashmemory devices, and/or the like. In an alternative embodiment, thesoftware is stored in RAM 106 by way of data transmission links coupledto the input/output circuitry 108. Such data transmission links maycomprise wired/wireless network interfaces, universal serial bus (USB)interfaces, and/or the like.

In an embodiment, the server 100 comprises a network interface 124 forinteracting with client and server entities via a network. The networkinterface 124 may include a combination of hardware and softwarecomponents, including media access circuitry, drivers, programs, andprotocol modules.

While embodiments of the server 100 is illustrated and will behereinafter described for purposes of example, other types of serversand/or electronic devices, such as a portable digital assistant (PDA), apager, a mobile television, a gaming device, a camera, a video recorder,an audio player, a video player, a radio, a mobile telephone, a portablecomputer device, a global positioning system (GPS) device, a GPSnavigation device, a GPS system, a mobile computer, a browsing device,an electronic book reader, a combination thereof, and/or the like, maybe used. While several embodiments of the invention may be performed orused by the server 100, embodiments may also be employed by anelectronic device, a service, a combination thereof, and/or the like.

FIG. 2A is a block diagram of a server 205 and a client 248 operating inaccordance with an example embodiment of the invention. In an exampleembodiment, a client 248 comprises a user interface 250. In an exampleembodiment, a server 205 comprises a network interface 212, processor202, and one or more databases 207. The server 205 may be incommunication with the client 248, via a network, such as Internet 214.For example, the client 248 may issue a search 222, e.g., a searchrequest, for media over the Internet 214. The network interface 212 ofthe server 205 may be configured to receive the search 222. Theprocessor 202 may be configured to perform as described below. Theprocessor 202 may also be configured to transmit media associated withthe search, via the network interface 212, over the Internet 214 to theclient 248. In an alternative embodiment, the processor 202 performs alook-up or otherwise access data in the database 207 to determine themedia associated with the issued search 222.

FIG. 2B is a block diagram of a user interface 250 operating inaccordance with an example embodiment of the invention. In an exampleembodiment, a client 248 comprises a user interface 250 and/or aprocessor 257. The client 248 may be configured to receive instructionsfor display from a server, such as server 205. For example, the client248 receives a display comprising an input box 255, search criteria, asearch button and/or the like. In an alternative embodiment, a servicecomprises a user interface 250 and/or a processor 257. The service maybe configured to receive instructions for display from a server, such asserver 205. For example, the service receives a display comprising aninput box 255, search criteria, a search button and/or the like.

In an example embodiment, the user interface 250 is configured todisplay the input box 255, the search criteria, the search button 270,and/or the like for a user to perform a media search. In an exampleembodiment, the media search is based at least in part on a keyword, amedia type, and/or the like. In an embodiment, the user interface 250 isfurther configured to allow selection of a type of a media search basedat least in part on search criteria, such as quality 260 a, size 260 b,date 260 c, a reference media, and/or the like, of a media. In anembodiment, the media search is for an image, video, and/or the like.

In an example embodiment, the user interface 250 is configured to enableinitiation of a media search using a search button 270. The userinterface 250 may also be configured to provide a radio button, a checkbox, an input for a numerical representation relating to a qualityparameter, a drawing curve relating to weight for the quality parameter,and/or the like.

In an embodiment, the processor 257 is configured to issue a searchrequest for media. For example, the processor 257 issues the searchrequest based on at least in part on user input, such as a keyword entryin the input box 255, to a server, such as server 205 of FIG. 2A. In anembodiment, the processor 257 is configured to search the media based atleast in part on one of the following: the quality score, a keyword, atitle, a description text, a combination thereof, and/or the like. Forexample, the processor 202 may issue a search based at least in part onthe quality score of the media 210, e.g., search for good images, orfrom a keyword search, e.g., mobile phone. In an embodiment, theprocessor 257 is configured to receive search results based at least inpart on a quality score. A possible technical effect of the exampleembodiment is a more efficient searching for a user, e.g., lesssearching for quality media on slower processing devices.

In an alternative embodiment, the processor 257 issues the searchrequest based on at least in part on user input, such as a keyword entryin the input box 255, to a server, such as server 205 of FIG. 2A or 2C.In an example embodiment, the user interface 250 is configured topresent or otherwise display the search results of the processor 257.Consider the following example.

In an example embodiment, a user of the user interface 250 enters akeyword, e.g., flower, in the input box 255. Further, the user mayselect the type of media search, for example, quality 260 a. The userinterface may also press or otherwise select the search button 270 toinitiate the search. The processor 257 may issue the search request.Further, the processor may receive search results based at least in parton a quality from the server. The processor 257 may present the media,for example, on a user interface 250. A possible technical effect of theexample embodiment is to search media based at least in part on qualityof the media.

FIG. 2C is a block diagram of another user interface 270 operating inaccordance with an example embodiment of the invention. In an exampleembodiment, the user interface 270 is configured to display a widget,such as a selection widget. The display may be configured to allow asort selection 272 for sorting the search results according to quality,size, date and/or the like. In an embodiment, the user interface 270 isfurther be configured to display one or more quality widgets for settinguser preferences for sharpness 274, contrast 276, noise 278, colorsaturation 280, and/or the like. In an example embodiment, a user of theuser interface 270 saves the media search preferences by pressing orotherwise selecting a button 284.

In an embodiment, the user interface 270 is further be configured toenable automatic learning or adaptation of quality preferences using anindicator 282. For example, a user selects a checkbox to enableadaptation. In an example embodiment, a service on the server isconfigured to automatically determine user quality preferences based atleast in part on monitoring user behavior. For example, the service maymonitor user selections for viewing media, such as media with low colorsaturation 280 in favor of media with color saturation 280. The servicemay determine a low color saturation preference setting for the user. Inan embodiment, the service also continues to monitor user behavior. Theservice may adapt the quality preferences according to changed userbehavior.

FIG. 2D is a block diagram of a server 205 operating in accordance withan example embodiment of the invention. In an example embodiment, aserver 205 comprises a processor 202 and/or media 210.

In an example embodiment, the media 210 comprises one or more qualityparameters 220 a-n. For example, the media 210 comprises at least one ofthe following quality parameters: resolution 220 a, sharpness 220 b,signal-to-noise ratio 220 c, dynamic range 220 d, tonal balance, colorbalance, distortion, light falloff, lateral chromatic aberration,veiling glare, horizontal alignment, vertical alignment, facialdetection, and/or the like. Media 210 may also comprise other qualityparameters.

In an example embodiment, resolution 220 a represents a number of pixelsfor the media 210. In this example embodiment, a resolution 220 a has apixel count of less than 204800, e.g., 640×320 resolution, may beconsidered low. In an embodiment, resolution 220 a is identified as aphysical size, e.g. lines per millimeter, lines per inch, and/or thelike, pixels, an overall size of the media 210, e.g., lines per pictureheight, and/or the like. In an example embodiment, a resolution of tenlines per millimeter comprises five dark lines alternating with fivelight lines.

In an example embodiment, sharpness 220 b determines the clarity of themedia 210. Sharpness 220 b of the media 210 may be determined based atleast in part on the resolution 220 a and an acutance of the media 210.In an embodiment, the acutance comprises a speed that the media 210information transitions at an edge or the like. The combination ofresolution 220 a, e.g., clarity, and the acutance, e.g., speed oftransition, sharpness 220 b results in the sharpness 220 b of the media210. In an example embodiment, the sharpness 220 b has a value from 0.0,e.g., low sharpness, to 1.0, e.g., good sharpness. For example, thesharpness 220 b may have a resolution 220 a for a five megapixel imagein one megapixel, e.g., 0.2 sharpness. A sharpness of less than 0.5 maybe considered low. It should be understood that sharpness may beaffected by a lens and/or sensor of a device capturing the media 210, acamera shake, a focus accuracy, an atmospheric disturbance, e.g.,thermal effects, aerosols, and/or the like, and/or the like.

In an embodiment, signal-to-noise ratio 220 c is a variation of imagedensity in a media 210. In an example embodiment, the signal-to-noiseratio 220 c is described in decibels (dB) or effective number of bits(ENOB). If the ENOB is 8 or more, e.g., approx 48 dB, the quality isgood. If the ENOB is less than 4, e.g., 24 dB, the signal-to-noise ratio220 c is low.

In an example embodiment, dynamic range 220 d is a luminance valuecomprising a range of light levels the server 205 may capture for themedia 210. The luminance value may be measured in f-stops, exposurevalue, zones, and/or the like. In an example embodiment, the dynamicrange 220 d comprises a minimum and a maximum 8-bit luminance value withthe dynamic range 220 d between 0 and 255. A media 210 with a value forthe dynamic range 220 d of above 150 is good.

In an example embodiment, a quality parameter is a vertical alignment.The vertical alignment may be an arrangement or position in a straightline, a parallel line, and/or the like, in a position perpendicular tothe plane of a horizon. In an alternative embodiment, a qualityparameter is a horizontal alignment. The horizontal alignment may be anarrangement in a straight line, a parallel line, and/or the like in aposition perpendicular to a plane of the horizon.

In an embodiment, a quality parameter is facial detection. For example,the quality parameter may indicate if a face is happy, sad, neutral,and/or the like. Further, the quality parameter may indicate otherattributes of a face, such as open eyes.

It should be understood that the processor 202 may use techniques knownin the art for determining the value for each quality parameter 220 a-n.It should be further understood that the value for each qualityparameter 220 a-n representing a good, average, low, and/or the likevalue may be varied based at least in part on the use of the media 210.It should also be understood that embodiments of the invention performedwith a video may apply the quality parameters for each frame of a video.

In an example embodiment, the processor 202 is configured to determineat least one quality parameter for the media 210 on the server 205associated with the search request. For example, the processor 202 maydetermine the resolution 220 a, the sharpness 220 b, the signal-to-noiseratio 220 c, the dynamic range 220 d, and/or the like for the media 210.The processor 202 may be configured to assign a value, e.g.,representing a good or a low quality, for each quality parameter 220 a-nof the media 210. For example, the processor 202 may assign a lownumerical value representing a low resolution 220 a for the media 210.In an embodiment, the processor 202 is further configured to apply aweight to the value of each quality parameter.

In an example embodiment, the processor 202 is also configured tocalculate a quality score for the media 210 based at least in part oneach value for each of the quality parameters 220 a-n.

In an embodiment, the processor 202 is further configured to apply aweight to the value of each quality parameter. The processor 202 mayalso be configured to combine the weighted value of each qualityparameter using a combination technique, such as addition,multiplication, or using fuzzy logic. For example, the processor 202 mayadd the weighted value for each quality parameter 220 a-n to calculatethe quality score. Alternatively, the processor 202 may multiply theweighted value for each quality parameter 220 a-n to calculate thequality score.

In an alternative embodiment, each quality parameter 220 a-n isprocessed with a nonlinear function having a knee point, e.g., thresholdvalue for a good quality score. In an embodiment, the knee point may bea pre-determined value or set by the user representing good quality. Ifdesirable, the processor 202 may be configured to apply a piecewiselinear function, a transcendental function, an algebraic function, fuzzylogic, and/or the like, to determine a quality score for the media 210.In an embodiment, the transcendental function is a logarithm function,an exponential function, and/or the like. In an embodiment, thealgebraic linear function is a polynomial function.

In an example embodiment, a piecewise linear function is f: Ω→V, where Vis a vector space and Ω may be subset of a vector space. The piecewiselinear function may be any function with the property that Ω can bedecomposed into finitely many polytopes, such that f is equal to alinear function on each of these polytopes. Embodiments of the inventionuse the piecewise linear function as known in the art to generate anonlinearized representation of the quality parameters 220 a-n. Based atleast in part on the nonlinearized representation, the processor 202 maycalculate the quality score.

In an alternative embodiment, the processor 202 is configured to compareone or more quality parameters of the media 210 to one or more qualityparameters of a reference media. In an embodiment, the reference mediais a known good representation of the media 210. For example, theprocessor 202 may determine a difference in value for each qualityparameter of the media 210 and the reference media. The processor 202may be configured to calculate a quality score based at least in part onthe comparison between the media 210 and the reference media. Forexample, the processor 202 may add the difference in value to calculatea quality score. The processor 202 may determine any value less than,for example, a pre-defined amount is of low quality.

In an embodiment, the processor 202 is also be configured to rank themedia 210 based at least in part on the keyword, quality score, or thelike. In an embodiment, the processor 202 is configured to sort themedia based at least in part on a ranking. Further, the processor 202may be configured to sort the media based at least in part on thequality score. In an embodiment, the processor 202 is configured tostore the quality score in a database. In an embodiment, a database is acollection of data organized for convenient access. In an exampleembodiment, the processor 202 is further configured to access thequality score during a subsequent search instead of calculating a newquality score.

In an example embodiment, the processor 202 is configured to receive asearch request from a client, such as client 248 of FIG. 2B. In anexample, the processor 202 of the server 205 may use a search engine toexamine an index to provide a listing of best-matching media based atleast in part on the search research request. If desired, the searchengine may rank the media to provide the best results based at least inpart on the search criteria. For example, the search engine may providethe best quality media for the keyword entered in the input box 255. Inan example embodiment, the processor 202 is also configured to transmitsearch results based at least in part on the quality score of the media.

In an example embodiment, server 205 is similar to server 100, processor202 is similar to processor 20, and user interface 250 is similar todisplay 28. In an alternative embodiment, server 205, processor 215, anduser interface 250 is different than server 100, processor 20, anddisplay 28.

FIG. 3 is a flow diagram of an example method 300 for ranking media inaccordance with an example embodiment of the invention. In anembodiment, the example method 300 may be performed using a server, suchas server 205 of FIG. 2B.

In an example embodiment, a quality parameter for a media is determinedat 305. In an example embodiment, the processor determines sharpness foran image. At 310, a value is assigned to the quality parameter. In anexample embodiment, the processor is configured to assign a numericvalue representing good sharpness. At 315, it is determined whetherthere are additional quality parameters. If at 315 it is determined thatthere are additional quality parameters, then the example method 300continues at 305. If at 315 it is determined that there are noadditional quality parameters, then the example method 300 continues at320.

At 320 it is determined whether there is a reference media. If at 320,it is determined that there is a reference media, then at 325 the mediais compared with the reference media. In an example embodiment, theimage is compared to a known good image. At 330, a quality scored basedat least in part on the comparison is calculated. In an exampleembodiment, the processor calculates a quality score based at least inpart on the different in value for each quality parameter of the imageas compared to a known good image.

At 335, it is determined whether there is another media to be processed.If at 335 it is determined that there is another media is to beprocessed, then the example method continues at 305. If at 335 it isdetermined that there is not another media to be processed, then theexample method 300 ends.

If it is determined at 320 that there is no reference media, then at340, a quality score is calculated. In an example embodiment, theprocessor calculates a quality score based at least in part on one ormore quality parameters. At 347, the quality score is stored. In anexample embodiment, the processor stores the quality in a database.

At 335, it is determined whether there is another media to be processed.If at 335 it is determined that there is another media is to beprocessed, then the example method continues at 305. If at 335 it isdetermined that there is not another media to be processed, then theexample method 300 ends.

It should be understood that example method 300 may be employed for anynumber of quality parameters, reference media, media, and/or the like.

FIG. 4A is a diagram depicting a media 400 with assigned values forquality parameters in accordance with an example embodiment of theinvention. In an example embodiment, FIG. 4A presents a media 400 and/orrespective quality parameters, resolution 405, sharpness 410,signal-to-noise ratio 415, and dynamic range 420. The values for eachquality parameter 405, 410, 415, 420 may be determined by performingembodiments of the invention. In this example, the resolution 405 has apixel value of less than 204800, which may represent a low resolution405. Further, the sharpness 410 has a resolution/acutance value of lessthan 0.25, which may represent low sharpness 410. The signal-to-noiseratio 415 has a decibel value of less than 24 decibels, which mayrepresent a low signal-to-noise ratio 415. The dynamic range 420 has aluminance value of less than 150, which may represent a low dynamicrange 420. Embodiments of the invention calculate a quality score, asdescribed above, based at least in part on the quality parameters 405,410, 415, 420. Since each of the quality parameters 405, 410, 415, 420are low, the calculated quality score for the media 400 may be a lowquality score value.

FIG. 4B is a diagram depicting another media 425 with assigned valuesfor quality parameters in accordance with an example embodiment of theinvention. In an example embodiment, FIG. 4B presents a media 425 and/orrespective quality parameters, resolution 430, sharpness 435,signal-to-noise ratio 440, and dynamic range 445. The values for eachquality parameter 430, 435, 440, 445 may be determined by performingembodiments of the invention. In this example, the resolution 430 has apixel value above 204800, which may represent a good resolution 430.Further, the sharpness 435 has a resolution/acutance value of more than0.25, which may represent a good sharpness 435. The signal-to-noiseratio 440 has a decibel value of less than 24 decibels, which mayrepresent a low signal-to-noise ratio 440. The dynamic range 445 has aluminance value greater than 150, which may represent a good dynamicrange 445. Embodiments of the invention calculate a quality score, asdescribed above, based at least in part on the quality parameters 430,435, 440, 445. Since several quality parameters 430, 435, 440, 445 arelow, the calculated quality score for the media 425 may be an averagequality score value.

FIG. 4C is a diagram depicting yet another media 450 with assignedvalues for quality parameters in accordance with an example embodimentof the invention. For example, FIG. 4C presents a media 450 and/orrespective quality parameters, resolution 455, sharpness 460,signal-to-noise ratio 465, and dynamic range 470. The values for eachquality parameter 455, 460, 465, 470 may be determined by performingembodiments of the invention. In this example, the resolution 455 has apixel value above 204800, which may represent a good resolution 455.Further, the sharpness 460 has a resolution/acutance value above 0.25,which may represent a good sharpness 460. The signal-to-noise ratio 465has a decibel value above 24 decibels, which may represent a goodsignal-to-noise ratio 465. The dynamic range 470 has a luminance valuegreater than 150, which may represent a good dynamic range 470.Embodiments of the invention calculate a quality score, as describedabove, based at least in part on the quality parameters 455, 460, 465,470. Since several quality parameters 455, 460, 465, 470 are good, thecalculated quality score for the media 450 may be a good quality scorevalue.

Without in any way limiting the scope, interpretation, or application ofthe claims appearing below, it is possible that a technical effect ofone or more of the example embodiments disclosed herein is to searchmedia based at least in part on quality of the media. Another possibletechnical effect of one or more of the example embodiments disclosedherein is a more efficient searching for a user, e.g., less searchingfor quality media on slower processing devices.

Embodiments of the present invention may be implemented in software,hardware, application logic or a combination of software, hardware andapplication logic. The software, application logic and/or hardware mayreside on a server, an electronic device, or a service. If desired, partof the software, application logic and/or hardware may reside on anelectronic device, part of the software, application logic and/orhardware may reside on server, and part of the software, applicationlogic and/or hardware may reside on service. The application logic,software or an instruction set is preferably maintained on any one ofvarious conventional computer-readable media. In the context of thisdocument, a “computer-readable medium” may be any media or means thatcan contain, store, communicate, propagate or transport the instructionsfor use by or in connection with an instruction execution system,apparatus, or device.

If desired, the different functions discussed herein may be performed inany order and/or concurrently with each other. Furthermore, if desired,one or more of the above-described functions may be optional or may becombined.

Although various aspects of the invention are set out in the independentclaims, other aspects of the invention comprise any combination offeatures from the described embodiments and/or the dependent claims withthe features of the independent claims, and not solely the combinationsexplicitly set out in the claims.

It is also noted herein that while the above describes exampleembodiments of the invention, these descriptions should not be viewed ina limiting sense. Rather, there are several variations and modificationswhich may be made without departing from the scope of the presentinvention as defined in the appended claims.

1. (canceled)
 2. A method comprising: determining one or more qualityparameters for ranking a candidate media; assigning a value for each ofthe one or more quality parameters; determining whether there is areference media, wherein the reference media is a representation of aquality level of a media; in response to determining there is areference media, calculating a quality score based at least in part on acomparison on the one or more quality parameters between the candidatemedia and the reference media; and in response to determining there isno reference media, calculating a quality score based at least in parton a quality level of each of the one or more quality parameters of thecandidate media.
 3. The method of claim 2, wherein the one or morequality parameters comprise one or more of: resolution, sharpness,signal-to-noise ratio, dynamic range, tonal balance, color balance,distortion, light falloff, lateral chromatic aberration, veiling glare,horizontal alignment, vertical alignment and facial detection.
 4. Themethod of claim 2, wherein the quality level comprises one of good,average and low level.
 5. The method of claim 2, wherein determining oneor more quality parameters for ranking a candidate media comprisesdetermining one or more quality parameters for ranking a candidate mediabased on a user quality preference.
 6. The method of claim 2, furthercomprising determining the reference media based on a user qualitypreference.
 7. The method of claim 2, further comprising providing auser interface to receive a user input on the user quality preference.8. The method of claim 2, further comprising automatically adapting theuser quality preference based at least in part on monitoring userbehavior.
 9. A server comprising: a network interface; a databaseconfigured to store a plurality of quality parameters; and a processorcommunicatively coupled to the network interface and the database, theprocessor configured to: determine one or more quality parameters forranking a candidate media, assign a value for each of the one or morequality parameters, determine whether there is a reference media,wherein the reference media is a representation of a quality level of amedia, in response to determining there is a reference media,calculating a quality score based at least in part on a comparison onthe one or more quality parameters between the candidate media and thereference media, and in response to determining there is no referencemedia, calculating a quality score based at least in part on a qualitylevel of each of the one or more quality parameters of the candidatemedia.
 10. The server of claim 9, wherein the one or more qualityparameters comprise one or more of: resolution, sharpness,signal-to-noise ratio, dynamic range, tonal balance, color balance,distortion, light falloff, lateral chromatic aberration, veiling glare,horizontal alignment, vertical alignment and facial detection.
 11. Theserver of claim 9, wherein the quality level comprises one of good,average and low level.
 12. The server of claim 9, wherein whendetermining one or more quality parameters for ranking a candidate mediathe processor is further configured to determine one or more qualityparameters for ranking a candidate media based on a user qualitypreference.
 13. The server of claim 9, wherein the processor is furtherconfigured to determine the reference media based on a user qualitypreference.
 14. The server of claim 9, wherein the processor is furtherconfigured to provide a user interface to receive a user input on theuser quality preference.
 15. The server of claim 9, wherein theprocessor is further configured to automatically adapt the user qualitypreference based at least in part on monitoring user behavior.